#!/bin/bash

# NPM 包发布脚本

echo "🚀 开始发布 node-cotong-ys2u8-login 到 NPM..."

# 1. 检查当前登录状态
echo "📋 检查 NPM 登录状态..."
if ! npm whoami > /dev/null 2>&1; then
    echo "❌ 未登录 NPM，请先执行 npm login"
    exit 1
fi

# 2. 检查工作目录是否干净（如果使用 git）
if [ -d ".git" ]; then
    if ! git diff-index --quiet HEAD --; then
        echo "⚠️  警告：工作目录有未提交的更改"
        read -p "是否继续发布？(y/N): " -n 1 -r
        echo
        if [[ ! $REPLY =~ ^[Yy]$ ]]; then
            exit 1
        fi
    fi
fi

# 3. 运行测试（如果有）
echo "🧪 运行测试..."
npm test

# 4. 清理之前的构建文件
echo "🧹 清理构建文件..."
npm run clean

# 5. 安装依赖
echo "📦 安装依赖..."
npm install

# 6. 构建包
echo "🔨 构建包..."
npm run build

# 7. 发布包
echo "📤 发布到 NPM..."
npm publish

if [ $? -eq 0 ]; then
    echo "✅ 发布成功！"
    echo "📄 包信息: https://www.npmjs.com/package/node-cotong-ys2u8-login"
else
    echo "❌ 发布失败"
    exit 1
fi
